/* vim: set expandtab shiftwidth=4: -*- mode: c++; c-basic-offset: 4; tab-width: 8; indent-tabs-mode: nil -*-
qRPG
An RPG written to test Qt's Graphics View framework
Copyright (C) 2006 Wesley Crossman
Email: wesley@crossmans.net

You can redistribute and/or modify this software under the terms of the GNU
General Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this
program; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
Suite 330, Boston, MA 02111-1307 USA */

#ifndef GAMEWINDOW_H
#define GAMEWINDOW_H

#include "ui_GameWindow.h"
#include <QList>
#include <QPointer>
class QCheckBox;
class QToolBar;
class QLabel;
class QSignalMapper;
class ClickableLabel;
class GameItem;

class GameWindow : public QMainWindow, private Ui::GameWindow {
Q_OBJECT
protected:
    QToolBar *tbrUnderFoot, *tbrInventory, *tbrDebug;
    QList < QPointer < ClickableLabel > > underFootLabels, inventoryLabels;
    QSignalMapper *underFootLabelMapper, *inventoryLabelMapper, *inventoryPopupMapper;
    QCheckBox *chkDebugFullVision;
    GameItem *inventoryPopupItem;
protected slots:
    void playerMoved();
    void playerInventoryChanged();
    void underFootLabelClicked(QWidget *);
    void inventoryLabelClicked(QWidget *);
    void popupInventoryActionTriggered(const QString &command);
    void debugFullVisionToggled(bool);
public:
    GameWindow();
};

#endif

